Design and optimisation of scientific programs in a categorical language
نویسنده
چکیده
This thesis presents an investigation into the use of advanced computer languages for scientific computing, an examination of performance issues that arise from using such languages for such a task, and a step toward achieving portable performance from compilers by attacking these problems in a way that compensates for the complexity of and differences between modern computer architectures. The language employed is Aldor, a functional language from computer algebra, and the scientific computing area is a subset of the family of iterative linear equation solvers applied to sparse systems. The linear equation solvers that are considered have much common structure, and this is factored out and represented explicitly in the language as a framework, by means of categories and domains. The flexibility introduced by decomposing the algorithms and the objects they act on into separate modules has a strong performance impact due to its negative effect on temporal locality. This necessitates breaking the barriers between modules to perform cross-component optimisation. In this instance the task reduces to one of collective loop fusion and array contraction. Traditional approaches to this problem rely on static heuristics and simplified machine models that do not deal well with the complex trade-offs involved in targeting modern computer architectures. To rectify this we develop a technique called iterative collective loop fusion that empirically evaluates different candidate transformations in order to select the best available. We apply our technique to programs derived from the iterative solver framework to demonstrate its effectiveness, and compare it against other techniques for collective loop fusion from the literature, and more traditional approaches such as using Fortran, C and/or high-performance library routines. The use of a high-level categorical language such as Aldor brings important benefits in terms of elegance of expression, comprehensibility, and code reuse. Iterative collective loop fusion outperforms the other collective loop fusion techniques. Applying it to the iterative solver framework gives programs with performance that is comparable with the traditional approaches.
منابع مشابه
Complexity bounds from abstract categorical models
Common category theory notions are useful for abstracting both semantics and programs, simplifying definitions and aiding reasoning. We argue that categorical descriptions can also be used to reason about program complexity. We calculate complexity bounds from the axioms of abstract category theory structures commonly used in programming and semantics, which imply opportunities for optimisation...
متن کاملNeed for Optimisation of Immunisation Strategies Targeting Invasive Meningococcal Disease in the Netherlands
Invasive meningococcal disease (IMD) is a severe bacterial infectious disease with high mortality and morbidity rates worldwide. In recent years, industrialised countries have implemented vaccines targeting IMD in their National Immunisation Programmes (NIPs). In 2002, the Netherlands successfully implemented a single dose of meningococcal serogroup C conjugate vaccine at the age of 14 months a...
متن کاملThe Place of Postmethod Pedagogy in Teacher Education Programs in EFL Language Centers of Iran
ELT has recently witnessed a shift away from a method-bound orientation and toward a post-methodic view of teaching English. Consequently, the focus of some second language teacher education programs has shifted toward sociopolitical aspects of ELT (Miller, 2004) and its contributions to reinforcement or transformation of the status quo (Kumaravadivelu, 2003a). Yet, in many countries, including...
متن کاملOptimisation of Healthcare Contracts: Tensions Between Standardisation and Innovation; Comment on “Competition in Healthcare: Good, Bad or Ugly?”
An important determinant of health system performance is contracting. Providers often respond to financial incentives, despite the ethical underpinnings of medicine, and payers can craft contracts to influence performance. Yet contracting is highly imperfect in both single-payer and multi-payer health systems. Arguably, in a competitive, multi-payer environment, contractual innovation may occur...
متن کاملEnglish Language Teaching Material Development
The goal of language programs is to utilize language for effective communication. Due to the needs, interests, and motivations of language learners, they may show individual differences in their lan- guage learning. Materials used in language programs can be instructional, experiential, elucidative, or exploratory in that they can inform learners about the language, provide experience of the la...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005